home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 2000 November: Tool Chest / Dev.CD Nov 00 TC Disk 1.toast / Sample Code / Contributed / SpriteWorld / SpriteWorld Files / BlitPixie / Assembler / 68K / BlitPixieMask.a < prev    next >
Encoding:
Text File  |  2000-10-06  |  6.4 KB  |  297 lines  |  [TEXT/MPS ]

  1. ; DO NOT EDIT (OR EVEN READ) THIS FILE!
  2. ; BlitPixieMask.a (for Asm), auto-generated from BlitPixieMask.c
  3.  
  4.     INCLUDE    'AsmGlobal.a'
  5.  
  6.     PROC
  7.  
  8.     EXPORT BlitPixieMask 
  9. BlitPixieMask:
  10.     link      a6,#0
  11.     movem.l   d3-d7/a2-a4,-(a7)
  12.     movea.l   8(a6),a4
  13.     movea.l   12(a6),a3
  14.     movea.l   16(a6),a2
  15.     move.l    20(a6),d7
  16.     move.l    24(a6),d6
  17.     move.w    28(a6),d5
  18.     move.w    30(a6),d4
  19.     ext.l     d5
  20.     sub.l     d5,d7
  21.     sub.l     d5,d6
  22.     move.l    d5,d0
  23.     lsr.l     #2,d0
  24.     move.l    d0,d1
  25.     lsl.l     #2,d1
  26.     sub.l     d1,d5
  27.     move.l    d0,d3
  28.     lsr.l     #4,d3
  29.     moveq     #15,d1
  30.     and.l     d1,d0
  31.     lsl.l     #3,d0
  32.     lea       *+138,a0       ; $000000c8
  33.     suba.l    d0,a0
  34.     move.l    d3,d2
  35.     jmp       (a0)
  36.     move.l    (a3),d0
  37.     and.l     (a2)+,d0
  38.     or.l      (a4)+,d0
  39.     move.l    d0,(a3)+
  40.     move.l    (a3),d0
  41.     and.l     (a2)+,d0
  42.     or.l      (a4)+,d0
  43.     move.l    d0,(a3)+
  44.     move.l    (a3),d0
  45.     and.l     (a2)+,d0
  46.     or.l      (a4)+,d0
  47.     move.l    d0,(a3)+
  48.     move.l    (a3),d0
  49.     and.l     (a2)+,d0
  50.     or.l      (a4)+,d0
  51.     move.l    d0,(a3)+
  52.     move.l    (a3),d0
  53.     and.l     (a2)+,d0
  54.     or.l      (a4)+,d0
  55.     move.l    d0,(a3)+
  56.     move.l    (a3),d0
  57.     and.l     (a2)+,d0
  58.     or.l      (a4)+,d0
  59.     move.l    d0,(a3)+
  60.     move.l    (a3),d0
  61.     and.l     (a2)+,d0
  62.     or.l      (a4)+,d0
  63.     move.l    d0,(a3)+
  64.     move.l    (a3),d0
  65.     and.l     (a2)+,d0
  66.     or.l      (a4)+,d0
  67.     move.l    d0,(a3)+
  68.     move.l    (a3),d0
  69.     and.l     (a2)+,d0
  70.     or.l      (a4)+,d0
  71.     move.l    d0,(a3)+
  72.     move.l    (a3),d0
  73.     and.l     (a2)+,d0
  74.     or.l      (a4)+,d0
  75.     move.l    d0,(a3)+
  76.     move.l    (a3),d0
  77.     and.l     (a2)+,d0
  78.     or.l      (a4)+,d0
  79.     move.l    d0,(a3)+
  80.     move.l    (a3),d0
  81.     and.l     (a2)+,d0
  82.     or.l      (a4)+,d0
  83.     move.l    d0,(a3)+
  84.     move.l    (a3),d0
  85.     and.l     (a2)+,d0
  86.     or.l      (a4)+,d0
  87.     move.l    d0,(a3)+
  88.     move.l    (a3),d0
  89.     and.l     (a2)+,d0
  90.     or.l      (a4)+,d0
  91.     move.l    d0,(a3)+
  92.     move.l    (a3),d0
  93.     and.l     (a2)+,d0
  94.     or.l      (a4)+,d0
  95.     move.l    d0,(a3)+
  96.     move.l    (a3),d0
  97.     and.l     (a2)+,d0
  98.     or.l      (a4)+,d0
  99.     move.l    d0,(a3)+
  100.     subq.l    #1,d2
  101.     bpl.w     *-130          ; $00000048
  102.     move.l    d5,d2
  103.     beq.s     *+26           ; $000000ea
  104.     subq.l    #2,d2
  105.     bmi.s     *+14           ; $000000e2
  106.     move.w    (a3),d0
  107.     and.w     (a2)+,d0
  108.     or.w      (a4)+,d0
  109.     move.w    d0,(a3)+
  110.     tst.w     d2
  111.     beq.s     *+10           ; $000000ea
  112.     move.b    (a3),d0
  113.     and.b     (a2)+,d0
  114.     or.b      (a4)+,d0
  115.     move.b    d0,(a3)+
  116.     adda.l    d7,a4
  117.     adda.l    d7,a2
  118.     adda.l    d6,a3
  119.     subq.w    #1,d4
  120.     bne.w     *-174          ; $00000044
  121.     movem.l   (a7)+,d3-d7/a2-a4
  122.     unlk      a6
  123.     rts
  124.  
  125.     EXPORT BlitPixiePartialMask 
  126. BlitPixiePartialMask:
  127.     link      a6,#0
  128.     movem.l   d3-d7/a2-a4,-(a7)
  129.     movea.l   8(a6),a4
  130.     movea.l   12(a6),a3
  131.     movea.l   16(a6),a2
  132.     move.l    20(a6),d7
  133.     move.l    24(a6),d6
  134.     move.w    28(a6),d5
  135.     move.w    30(a6),d4
  136.     ext.l     d5
  137.     sub.l     d5,d7
  138.     sub.l     d5,d6
  139.     moveq     #0,d0
  140.     move.w    d5,d0
  141.     lsr.l     #2,d0
  142.     move.l    d0,d1
  143.     lsl.l     #2,d1
  144.     sub.l     d1,d5
  145.     move.l    d0,d3
  146.     lsr.l     #4,d3
  147.     moveq     #15,d1
  148.     and.l     d1,d0
  149.     mulu.w    #14,d0
  150.     lea       *+234,a0       ; $0000012c
  151.     suba.l    d0,a0
  152.     move.l    d3,d2
  153.     jmp       (a0)
  154.     move.l    (a3),d0
  155.     and.l     (a2),d0
  156.     move.l    (a2)+,d1
  157.     not.l     d1
  158.     and.l     (a4)+,d1
  159.     or.l      d1,d0
  160.     move.l    d0,(a3)+
  161.     move.l    (a3),d0
  162.     and.l     (a2),d0
  163.     move.l    (a2)+,d1
  164.     not.l     d1
  165.     and.l     (a4)+,d1
  166.     or.l      d1,d0
  167.     move.l    d0,(a3)+
  168.     move.l    (a3),d0
  169.     and.l     (a2),d0
  170.     move.l    (a2)+,d1
  171.     not.l     d1
  172.     and.l     (a4)+,d1
  173.     or.l      d1,d0
  174.     move.l    d0,(a3)+
  175.     move.l    (a3),d0
  176.     and.l     (a2),d0
  177.     move.l    (a2)+,d1
  178.     not.l     d1
  179.     and.l     (a4)+,d1
  180.     or.l      d1,d0
  181.     move.l    d0,(a3)+
  182.     move.l    (a3),d0
  183.     and.l     (a2),d0
  184.     move.l    (a2)+,d1
  185.     not.l     d1
  186.     and.l     (a4)+,d1
  187.     or.l      d1,d0
  188.     move.l    d0,(a3)+
  189.     move.l    (a3),d0
  190.     and.l     (a2),d0
  191.     move.l    (a2)+,d1
  192.     not.l     d1
  193.     and.l     (a4)+,d1
  194.     or.l      d1,d0
  195.     move.l    d0,(a3)+
  196.     move.l    (a3),d0
  197.     and.l     (a2),d0
  198.     move.l    (a2)+,d1
  199.     not.l     d1
  200.     and.l     (a4)+,d1
  201.     or.l      d1,d0
  202.     move.l    d0,(a3)+
  203.     move.l    (a3),d0
  204.     and.l     (a2),d0
  205.     move.l    (a2)+,d1
  206.     not.l     d1
  207.     and.l     (a4)+,d1
  208.     or.l      d1,d0
  209.     move.l    d0,(a3)+
  210.     move.l    (a3),d0
  211.     and.l     (a2),d0
  212.     move.l    (a2)+,d1
  213.     not.l     d1
  214.     and.l     (a4)+,d1
  215.     or.l      d1,d0
  216.     move.l    d0,(a3)+
  217.     move.l    (a3),d0
  218.     and.l     (a2),d0
  219.     move.l    (a2)+,d1
  220.     not.l     d1
  221.     and.l     (a4)+,d1
  222.     or.l      d1,d0
  223.     move.l    d0,(a3)+
  224.     move.l    (a3),d0
  225.     and.l     (a2),d0
  226.     move.l    (a2)+,d1
  227.     not.l     d1
  228.     and.l     (a4)+,d1
  229.     or.l      d1,d0
  230.     move.l    d0,(a3)+
  231.     move.l    (a3),d0
  232.     and.l     (a2),d0
  233.     move.l    (a2)+,d1
  234.     not.l     d1
  235.     and.l     (a4)+,d1
  236.     or.l      d1,d0
  237.     move.l    d0,(a3)+
  238.     move.l    (a3),d0
  239.     and.l     (a2),d0
  240.     move.l    (a2)+,d1
  241.     not.l     d1
  242.     and.l     (a4)+,d1
  243.     or.l      d1,d0
  244.     move.l    d0,(a3)+
  245.     move.l    (a3),d0
  246.     and.l     (a2),d0
  247.     move.l    (a2)+,d1
  248.     not.l     d1
  249.     and.l     (a4)+,d1
  250.     or.l      d1,d0
  251.     move.l    d0,(a3)+
  252.     move.l    (a3),d0
  253.     and.l     (a2),d0
  254.     move.l    (a2)+,d1
  255.     not.l     d1
  256.     and.l     (a4)+,d1
  257.     or.l      d1,d0
  258.     move.l    d0,(a3)+
  259.     move.l    (a3),d0
  260.     and.l     (a2),d0
  261.     move.l    (a2)+,d1
  262.     not.l     d1
  263.     and.l     (a4)+,d1
  264.     or.l      d1,d0
  265.     move.l    d0,(a3)+
  266.     subq.l    #1,d2
  267.     bpl.w     *-226          ; $0000004c
  268.     move.l    d5,d2
  269.     beq.s     *+38           ; $0000015a
  270.     subq.l    #2,d2
  271.     bmi.s     *+20           ; $0000014c
  272.     move.w    (a3),d0
  273.     and.w     (a2),d0
  274.     move.w    (a2)+,d1
  275.     not.w     d1
  276.     and.w     (a4)+,d1
  277.     or.w      d1,d0
  278.     move.w    d0,(a3)+
  279.     tst.w     d2
  280.     beq.s     *+16           ; $0000015a
  281.     move.b    (a3),d0
  282.     and.b     (a2),d0
  283.     move.b    (a2)+,d1
  284.     not.b     d1
  285.     and.b     (a4)+,d1
  286.     or.b      d1,d0
  287.     move.b    d0,(a3)+
  288.     adda.l    d7,a4
  289.     adda.l    d7,a2
  290.     adda.l    d6,a3
  291.     subq.w    #1,d4
  292.     bne.w     *-282          ; $00000048
  293.     movem.l   (a7)+,d3-d7/a2-a4
  294.     unlk      a6
  295.     rts
  296.     END
  297.